package com.fin.quant.instra.mysql.model;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 投资组合主表
 */
public class Portfolio {
    /**
    * 主键ID
    */
    private Long id;

    /**
    * 组合编码（唯一标识）
    */
    private String portfolioCode;

    /**
    * 组合名称
    */
    private String portfolioName;

    /**
    * 组合所有者用户ID
    */
    private Long ownerId;

    /**
    * 组合描述
    */
    private String description;

    /**
    * 关联策略ID
    */
    private Long strategyId;

    /**
    * 组合类型，如 STOCK, FUND, MIXED, FUTURES
    */
    private String portfolioType;

    /**
    * 组合风险等级，如 LOW, MEDIUM, HIGH
    */
    private String riskLevel;

    /**
    * 组合开始日期
    */
    private Date startDate;

    /**
    * 组合结束日期（可空）
    */
    private Date endDate;

    /**
    * 初始资金
    */
    private BigDecimal initialCapital;

    /**
    * 当前组合市值
    */
    private BigDecimal currentValue;

    /**
    * 创建时间
    */
    private Date createdAt;

    /**
    * 更新时间
    */
    private Date updatedAt;

    /**
    * 备注信息
    */
    private String remark;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getPortfolioCode() {
        return portfolioCode;
    }

    public void setPortfolioCode(String portfolioCode) {
        this.portfolioCode = portfolioCode;
    }

    public String getPortfolioName() {
        return portfolioName;
    }

    public void setPortfolioName(String portfolioName) {
        this.portfolioName = portfolioName;
    }

    public Long getOwnerId() {
        return ownerId;
    }

    public void setOwnerId(Long ownerId) {
        this.ownerId = ownerId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Long getStrategyId() {
        return strategyId;
    }

    public void setStrategyId(Long strategyId) {
        this.strategyId = strategyId;
    }

    public String getPortfolioType() {
        return portfolioType;
    }

    public void setPortfolioType(String portfolioType) {
        this.portfolioType = portfolioType;
    }

    public String getRiskLevel() {
        return riskLevel;
    }

    public void setRiskLevel(String riskLevel) {
        this.riskLevel = riskLevel;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public BigDecimal getInitialCapital() {
        return initialCapital;
    }

    public void setInitialCapital(BigDecimal initialCapital) {
        this.initialCapital = initialCapital;
    }

    public BigDecimal getCurrentValue() {
        return currentValue;
    }

    public void setCurrentValue(BigDecimal currentValue) {
        this.currentValue = currentValue;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}